#ifndef SNAKEBOARDWIDGET_H
#define SNAKEBOARDWIDGET_H

#include <QWidget>
#include <QLabel>
#include <QPaintEvent>
#include <QFont>
/**
 * 贪吃蛇游戏记录板
 * @brief The SnakeBoardWidget class
 */
class SnakeBoardWidget : public QWidget
{
    Q_OBJECT
public:
    explicit SnakeBoardWidget(QWidget *parent = nullptr);
    /**
     * 初始化
     * @brief init
     */
    void init();
    /**
     * 绘制事件
     * @brief paintEvent
     * @param paintEvent
     */
    void paintEvent(QPaintEvent * paintEvent)override;
    /**
     * 设置关卡
     * @brief setLevel
     * @param level 关卡值
     */
    void setLevel(int level);

    /**
     * 设置总分
     * @brief setTotalScore
     * @param totalScore 总分值
     */
    void setTotalScore(int totalScore);
    /**
     * 设置通过关分数
     * @brief setPassScore
     * @param passScore
     */
    void setPassScore(int passScore);

    /**
     * 设置当前关 得分
     * @brief setCurrentScore
     * @param currentScore
     */
    void setCurrentScore(int currentScore);
signals:

public slots:
private:
    QLabel * totalScoreLabel;//总分
    QLabel * totalScoreLabelValue;//总分值

    QLabel * currentLevelLabel;//当前关卡

    QLabel * passLevelScoreLabel;//当前关卡过关所需分
    QLabel * passLevelScoreLabelValue;//当前关卡过关所需分值

    QLabel * currentLevelScoreLabel;//当前关卡得分
    QLabel * currentLevelScoreLabelValue;//当前关卡得分值

    //调色板
    QPalette pe;
    //字体
    QFont font;
};

#endif // SNAKEBOARDWIDGET_H
